package com.power.sifa.supervise.api;

import com.plf.common.domain.ResponseDTO;
import com.power.sifa.supervise.model.Apl_supervise;
import com.power.sifa.supervise.model.pageInfo.Apl_supervisePageInfo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 *  复议监督主表 Feign
 */
public interface IApl_superviseFeign {

    /**
     * 复议监督主表分页列表
     */
    @PostMapping("/apl_supervise/list")
    ResponseDTO list(@RequestBody Apl_supervisePageInfo apl_supervisePageInfo);

    /**
    * 查看复议监督主表
    */
    @GetMapping("/apl_supervise/view")
    ResponseDTO view(@RequestParam("id") String id);

    /**
    * 删除复议监督主表
    */
    @PostMapping("/apl_supervise/delete")
    ResponseDTO delete(@RequestParam("id") String id);

    ///**
    // * 查看复议监督主表 复合主键使用
    // */
    //@PostMapping("/apl_supervise/viewByPK")
    //ResponseDTO viewByPK(@RequestBody Apl_supervise.Apl_supervisePK pk);

    /**
     * 修改或保存复议监督主表
     */
    @PostMapping("/apl_supervise/save")
    ResponseDTO save(@RequestBody Apl_supervise apl_supervise);

    ///**
    // * 删除复议监督主表 复合主键使用
    // */
    //@PostMapping("/apl_supervise/deleteByPK")
    //ResponseDTO deleteByPK(@RequestBody Apl_supervise.Apl_supervisePK pk);
    
    /**
     * 批量删除复议监督主表
     */
    @PostMapping("/apl_supervise/batchDel")
    ResponseDTO batchDel(@RequestParam("ids") String ids);
    
     /**
     * 导出excel
     */
    @PostMapping("/apl_supervise/output")
    void output(HttpServletResponse response, @RequestBody Apl_supervisePageInfo apl_supervisePageInfo);
        
     /**
     * 导出excel模板
     */
    @PostMapping("/apl_supervise/exportExcelTemplate")
    void exportExcelTemplate(HttpServletResponse response);
    
     /**
     *	导入excel
     */
    @PostMapping("/apl_supervise/importExcel")
    ResponseDTO importExcel(@RequestBody MultipartFile file) throws IOException;


    /**
     * 变更第一第二承办人
     * @param ids
     * @param firstid
     * @param firstname
     * @param secondid
     * @param secondname
     * @param thirdid
     * @param thirdname
     * @return
     */
    @PostMapping("/apl_supervise/updateFirstAndSecondPerson")
    ResponseDTO updateFirstAndSecondPerson(@RequestBody List<String> ids,@RequestParam String firstid,@RequestParam String firstname,
                                           @RequestParam String secondid,@RequestParam String secondname,@RequestParam String thirdid, @RequestParam String thirdname);


    /**
     * 重置第一第二承办人
     * @param ids
     * @return
     */
    @PostMapping("/apl_supervise/resetFirstAndSecondPerson")
    ResponseDTO resetFirstAndSecondPerson(@RequestBody List<String> ids);

    /**
     * 发送被申请人短信及赣政通代办接口
     * @param applyid
     * @param userid
     * @param phones
     */
    @PostMapping("/apl_supervise/sendTargetMessage")
    ResponseDTO sendTargetMessage(String applyid, String userid, @RequestBody List<String> phones);


    /**
     * 行政复议监督联合主表查询
     * @param pageInfo
     * @return
     */
    @PostMapping("/apl_supervise/queryByPage")
    ResponseDTO queryByPage(@RequestBody Apl_supervisePageInfo pageInfo);


    /**
     * 复议监督分页查询-查询待归档和已归档的数据
     * @param pageInfo
     * @return
     */
    @PostMapping("/apl_supervise/queryArchivePage")
    ResponseDTO queryArchivePage(@RequestBody Apl_supervisePageInfo pageInfo);

}
